// 解决异步的方式 使用回调函数
// {
//   let fn = function (callback) {
//     console.log(111);
//     // 请求接口 返回数据 这个操作也是异步的
//     setTimeout(function () {
//       callback();
//     }, 1000)
//   }
//   fn(function (res) {
//     let list = res;
//     console.log('list', list);
//   });
// }
// 解决异步的方式 使用promise
{
  let fn = function () {
    console.log(111);
    return new Promise((res, rej) => {
      setTimeout(() => {
        // fetch('路径', {
        //   method: "POST",
        //   headers: {
        //     'Content-Type': 'application/json'
        //   },
        //   params: {
        //     user: user.value,
        //     pwd: pwd.value
        //   }
        // }).then(res => {
        //   res.json();
        // })
        // .catch(err => {
        //   console.log(err)
        // })
        try {

        } catch (error) {

        }
        let code = 200
        if (code === 200) {
          res('正确的状态码');
        } else {
          rej('状态码错误')
        }

      }, 1000)
    })
  }
  fn()
    .then(function (res) {
      console.log(222, res);
      // return new Promise((res, rej) => {
      //   setTimeout(() => {
      //     res('内部promise');
      //   }, 1000)
      // })
    })
    .catch(err => {
      console.log(err)
    })
    .then((res) => {
      console.log(333, res);
      // return new Promise((res, rej) => {
      //   setTimeout(() => {
      //     res('内部promise');
      //   }, 1000)
      // })
    })
}
{
  let fn = function () {
    return new Promise((res, rej) => {
      res('aaaa');
    })
  }
  let fn1 = async function () {
    let list = await fn()
    console.log('list-----', list)
  }
  fn1()
}
{
  let loadImg = function (srcURL) {
    return new Promise((res, rej) => {
      let imgs = document.createElement('img');
      imgs.src = srcURL;
      imgs.onload = function () {
        res(imgs);
      }
    })
  }
  Promise.all([
    loadImg('https://img1.baidu.com/it/u=700675537,3936578503&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500'),
    loadImg('https://img0.baidu.com/it/u=3643895624,2552772604&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=675'),
    loadImg('https://img0.baidu.com/it/u=2521851051,2189866243&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500'),
    loadImg('https://img1.baidu.com/it/u=3883901410,74560379&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=667')
  ]).then(function (img) {
    console.log('img', img);
    img.forEach(item => {
      document.body.appendChild(item)
    })

  })
  // Promise.race([
  // loadImg('https://img1.baidu.com/it/u=700675537,3936578503&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500'),
  // loadImg('https://img0.baidu.com/it/u=3643895624,2552772604&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=675'),
  // loadImg('https://img0.baidu.com/it/u=2521851051,2189866243&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500'),
  // loadImg('https://img1.baidu.com/it/u=3883901410,74560379&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=667')
  // ]).then(function(img){
  //         document.body.appendChild(img)
  // })

}